#ifndef GB_UDISK_H
#define GB_UDISK_H

#include "glib-object.h"
#include "glib.h"

#define GB_TYPE_UDISK    gb_udisk_get_type()
#define GB_UDISK(OBJ)    G_TYPE_CHECK_INSTANCE_CAST(OBJ, GB_TYPE_UDISK, GBUDisk)
#define GB_IS_UDISK(OBJ) G_TYPE_CHECK_INSTANCE_TYPE(OBJ, GB_TYPE_UDISK)

// 将类结构体的类型强转为UDISK类结构体类型
#define GB_UDISK_CLASS(klass) G_TYPE_CHECK_CLASS_CAST(klass, GB_TYPE_UDISK, GBUDiskClass)
// 判断类结构体的类型是否为UDISK类结构体类型
#define GB_IS_UDISK_CLASS(klass) G_TYPE_CHECK_CLASS_TYPE(klass, GB_TYPE_UDISK)
// 获取OBJ对象对应的类结构体类型
#define GB_UDISK_GET_CLASS(OBJ) G_TYPE_INSTANCE_GET_CLASS(OBJ, GB_TYPE_UDISK, GBUDiskClass)

typedef struct _GBUDisk {
    GObject  parent;
    GString *data;
} GBUDisk;

typedef struct _GBUDiskClass {
    GObjectClass parent_class;
} GBUDiskClass;

GType gb_udisk_get_type(void);

#endif